// DustSensor.h

#ifndef _DUSTSENSOR_h
#define _DUSTSENSOR_h

#if defined(ARDUINO) && ARDUINO >= 100
	#include "Arduino.h"
#else
	#include "WProgram.h"
#endif

//#define DEBUG_ON

class DustSensor
{
public:
	void Init(int ledPwrPin, int dustPin);
	int Sample(void);
	void DustDataUpdate(void);

	// 需要在调用"DustDataUpdate()"函数后，数据才会被更新
	// 单位：V
	float voltage;
	// 需要在调用"DustDataUpdate()"函数后，数据才会被更新
	// 单位：mg/m^3
	float dustDensity;
	// 需要在调用"DustDataUpdate()"函数后，数据才会被更新
	// 表示：Particles per 0.01 cubic foot
	// Dylos 标准
	float ppmPercf;

private:
	int ledPwrPin;
	int dustPin;
	int dustVal;
	int sampleCnt;
	long ppm;
};

#endif
